[−][src]Crate mock_instant
mock_instant
This crate allows you to test Instant/Duration code, deterministically per thread.
If cross-thread determinism is required, enable the sync
feature:
mock_instant = { version = "0.2", features = ["sync"] }
It provides a replacement std::time::Instant
that uses a deterministic thread-local 'clock'
You can swap out the std::time::Instant
with this one by doing something similar to:
#[cfg(test)] use mock_instant::Instant; #[cfg(not(test))] use std::time::Instant;
Example
use std::time::Duration; let now = Instant::now(); MockClock::advance(Duration::from_secs(15)); MockClock::advance(Duration::from_secs(2)); // its been '17' seconds assert_eq!(now.elapsed(), Duration::from_secs(17));
Structs
Instant | A simple deterministic Instant wrapped around a modifiable Duration |
MockClock | A Mock clock |